package com.rustic.server.vo.user;

import cn.hutool.core.bean.BeanUtil;
import com.rustic.server.po.User;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 表[user]对应VO类
 *
 * @author auto
 */

@Data
public class UserSimpleVO {

    /**
     * 自增id
     */
    @ApiModelProperty(value = "自增id", dataType = "Integer")
    private Integer id;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名", dataType = "String")
    private String username;

    /**
     * 手机区号
     */
    @ApiModelProperty(value = "手机区号", dataType = "String")
    private String mobilePrefix;

    /**
     * 手机号码
     */
    @ApiModelProperty(value = "手机号码", dataType = "String")
    private String mobile;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", dataType = "String")
    private String email;

    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称", dataType = "String")
    private String nickname;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像", dataType = "String")
    private String avatar;

    /**
     * 是否填写认证信息,Y是,N否
     */
    @ApiModelProperty(value = "是否填写认证信息,Y是,N否", dataType = "String")
    private String isCertification;

    /**
     * 注册状态(1已完成 2未完成)
     */
    @ApiModelProperty(value = "注册状态(1已完成 2未完成)", dataType = "int")
    private Integer registerStatus;

    /**
     * 审核状态(1待审核 2审核不通过 3审核通过)
     */
    @ApiModelProperty(value = "审核状态(1待审核 2审核不通过 3审核通过)", dataType = "int")
    private Integer auditStatus;

    /**
     * 审核意见
     */
    @ApiModelProperty(value = "审核意见", dataType = "int")
    private String auditRemark;

    /**
     * 最后登录时间
     */
    @ApiModelProperty(value = "最后登录时间", dataType = "Date")
    private Date lastTime;

    /**
     * 会员权益(1贵宾区 2发起聊天 3隐私设置), 多个时逗号分隔
     */
    @ApiModelProperty(value = "会员权益(1贵宾区 2发起聊天 3隐私设置), 多个时逗号分隔", dataType = "String")
    private String rights;

    /**
     * 是否启动隐私设置（rights字段包含3，该设置才生效）
     */
    @ApiModelProperty(value = "是否启动隐私设置（rights字段包含3，该设置才生效）", dataType = "String")
    private String enablePrivacy;

    /**
     * 正在申请中的权益
     */
    @ApiModelProperty(value = "会员权益(1贵宾区 2发起聊天 3隐私设置), 多个时逗号分隔", dataType = "String")
    private String applyRights;

    /**
     * 是否有未读消息
     */
    @ApiModelProperty(value = "是否有未读消息(N没有,Y有未读)", dataType = "String")
    private String isRead;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别(1男 2女 3未知)", dataType = "int")
    private int sex;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄", dataType = "int")
    private int age;

    /**
     * 介绍
     */
    @ApiModelProperty(value = "介绍", dataType = "String")
    private String introduce;

    /**
     * 地区
     */
    @ApiModelProperty(value = "地区", dataType = "String")
    private String address;

    public UserSimpleVO(User user) {
        if (user != null) {
            BeanUtil.copyProperties(user, this);
        }
    }
}
